package hk.ust.sfwongac.comp1022p.assignment;


/**
 * @author Silver
 *
 */
public class GameModel {
	
	/**
	 * 
	 */
	private GameState gameState;

	/**
	 * 
	 */
	private int numberOfTargets;

	/**
	 * 
	 */
	private Difficulties diff;

	/**
	 * 
	 */
	private TargetModel targets;

	/**
	 * 
	 */
	private ShootingGunModel gun;

	/**
	 * 
	 */
	private BulletModel bullet;

	/**
	 * @param numberOfTargets
	 * @param diff
	 */
	public GameModel(int numberOfTargets, Difficulties diff) {
		super();
		this.numberOfTargets = numberOfTargets;
		this.diff = diff;
		initialization();
	}

	/**
	 * 
	 */
	private void initialization() {
		targets = new TargetModel(numberOfTargets, diff);
		gun = new ShootingGunModel();
		bullet = new BulletModel();
	}

	/**
	 * @return
	 */
	public TargetModel getTargets() {
		return targets;
	}

	/**
	 * @return
	 */
	public ShootingGunModel getGun() {
		return gun;
	}

	/**
	 * @return
	 */
	public BulletModel getBullet() {
		return bullet;
	}

	/**
	 * @return
	 */
	public GameState getGameState() {
		return gameState;
	}

	/**
	 * @param gameState
	 */
	protected void setGameState(GameState gameState) {
		this.gameState = gameState;
	}

	/**
	 * @param command
	 */
	public void updateTargetModel(String command) {
		//TODO
	}

	/**
	 * @param command
	 */
	public void updateBulletModel(String command) {
		//TODO
	}

	/**
	 * @param command
	 */
	public void updateShootingGunModel(String command) {
		//TODO
	}
}
